In a wireless communication network, device-to-device (D2D) communication refers to direct communication between wireless communication devices. D2D communication may be conducted between a first wireless communication device, such as a beneficiary device that receives a D2D service, and a second wireless communication device, such as a serving device that provides the D2D service to the beneficiary device. To use a D2D service, the beneficiary device must first determine which of the other D2D devices in the network can act as the serving device. In existing solutions, the processes used by the beneficiary device to discover the serving device may be inefficient.
One existing solution for determining D2D services offered by another wireless communication device involves acquiring higher layer information transmitted by that device. For example, the serving device broadcasts information about its service offerings on a beacon channel or any channel carrying system information (SI), such as a physical uplink shared channel (PUSCH) or other physical channel. The beneficiary device receives and fully decodes the physical channel carrying the SI associated with the services. Typically, to maintain acceptable implementation complexity, a D2D wireless communication device can receive one physical channel at a time because simultaneous reception of two or more physical channels may require multiple receivers. In practice, the beneficiary device will have to acquire the SI of multiple D2D devices since not all are likely to offer the same services (e.g., some D2D devices may offer the service desired by beneficiary device and other D2D devices may not offer the desired service). Reading and decoding the higher layer SI information one device at a time means the time to determine an appropriate serving D2D device may become substantially long. As a result, battery life of the beneficiary device may be degraded and processing at the beneficiary device may increase. Complexity may further increase as more D2D devices become involved, for example, if a device X operates as a beneficiary D2D device with respect to one device Y while device X operates as a serving D2D device with respect to another device Z. Even if device X is capable of multi-user detection/successive interference cancellation (MUD/SIC), it may not be able to read a beacon channel of device Y (a potential serving device) to inquire about its offered service and simultaneously receive data (e.g., PUSCH) from device Z.
Another existing solution attempts to reduce the complexity at the beneficiary device, by offering a network-assisted approach to finding a serving D2D device. In this approach, the beneficiary device tells the cellular network/base station the D2D service that the beneficiary device would like to use. The network responds by telling the beneficiary device the D2D device(s) offering the desired service. This approach involves a high amount of dependence on the network because the beneficiary device obtains information about other D2D devices from the network rather than from the devices themselves. This can increase the signalling overhead in the network and may be inefficient when the beneficiary device lacks sufficient network coverage.
Both of the existing solutions described above involve further problems because they assume a static association between some device or service identity (expression) and the actual service offered. This makes existing solutions inflexible because such association cannot be readily changed even though more services may be needed in future or a particular device may change its service offerings.